package com.yxhl.zoume.core.officialcar.view;

import com.yxhl.protobuf.BizOrderResponse;
import com.yxhl.zoume.common.ui.view.BaseView;

/**
 * Created by sugarya on 16/8/28.
 */
public interface OfficialCarScheduleMapView extends BaseView {

    /**
     * 网络请求失败时
     *
     * @param resultMessage
     */
    void renderDataOnFailure(String resultMessage);

    /**
     * 网络请求成功时 返回数据
     *
     * @param response
     */
    void renderDataOnSuccess(BizOrderResponse response);

    /**
     * 设置toolbar信息
     *
     * @param title
     * @param operation
     */
    void setupHeaderStatus(String title, String operation);

    /**
     * 设置toolbar信息
     *
     * @param title
     */
    void setupTitleStatus(String title);


    /**
     * 设置行程状态栏信息
     *
     * @param message
     * @param iconVisibility
     */
    void setupScheduleBarStatus(String message, boolean iconVisibility);

    /**
     * 设置司机信息栏信息
     *
     * @param driverInfo
     * @param judgePoint
     * @param isPhoneIconVisible
     */
    void setupDriverInfoStatus(String driverInfo, int judgePoint, boolean isPhoneIconVisible, String moblie);


    /**
     * 开启行程信息栏动画
     */
    void startEnterAnimatorForScheduleBar();

    /**
     * 开启行程信息栏退出动画
     */
    void startExitAnimatorForScheduleBar();

    /**
     * 开启司机信息栏退出动画
     */
    void startExitAnimatorForDriverInfo();

    /**
     * 更新行程信息里的信息
     *
     * @param fromRideStatus
     * @param toRideStatus
     * @param driverMobile
     */
    void updateDataBetweenRideStatus(int fromRideStatus, int toRideStatus, String driverMobile);

    /**
     * 开启司机信息栏进入动画和开启行程信息栏进入的动画
     *
     * @param runNextAnimator
     */
    void startEnterAnimatorForDriverInfoAndScheduleBar(boolean runNextAnimator);

    /**
     * 更新时刻和里程数据
     *
     * @param runTime
     * @param runDistance
     */
    void updateTimeAndDistanceValue(String runTime, String runDistance);

    /**
     * 开启底部行程时间和距离栏 动画
     *
     * @param needUpTranslation
     */
    void startTimeDistanceInfoBarAnimator(boolean needUpTranslation);

    /**
     * 显示行程结束对话框
     *
     * @param bizOrderResponse
     */
    void showArrivalDialog(BizOrderResponse bizOrderResponse);

    /**
     * 路线规划失败
     */
    void routeResultFailure();
}
